import numpy as np
import matplotlib.pyplot as plt

# 中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 小球运动参数
v0 = 15  # 初始速度 m/s
a = -5.625  # 加速度 m/s²

# 时间数组
t = np.linspace(0, 3, 100)
# 位移公式: s = v0*t + 0.5*a*t²
s = v0*t + 0.5*a*t**2
# 速度公式: v = v0 + a*t
v = v0 + a*t

# 可视化
plt.figure(figsize=(12, 4))

plt.subplot(1, 2, 1)
plt.plot(t, s, 'b-', linewidth=2)
plt.xlabel('时间 (s)')
plt.ylabel('位移 (m)')
plt.title('小球位移-时间关系')
plt.grid(True)

plt.subplot(1, 2, 2)
plt.plot(t, v, 'r-', linewidth=2)
plt.xlabel('时间 (s)')
plt.ylabel('速度 (m/s)')
plt.title('小球速度-时间关系')
plt.grid(True)

plt.tight_layout()
plt.show()

# 计算特定时刻的导数（变化率）
t_5m = 2/3  # 滚动到5米时的时间
instant_velocity = v0 + a*t_5m
print(f"小球滚动到5米时的瞬时速度: {instant_velocity:.2f} m/s")